System Help You may use the following keys when using the menu screen: UP ARROW Allows you to highlight the previous item on the menu. DOWN ARROW Highlights the next item in the menu. FIRST LETTER When you press the first highlighted menu letter, the computer will automatically choose the option that was pressed. Remember that additional help is available by highlighting the desired letter (use the arrow keys) option and reading the message located at the bottom of the screen. For additional information on sorting in general, press -G- at the MAIN MENU screen. About Sorting Arrays A basic problem that might arise in computer programming is sorting an array. This operation may seem simple but the actual solution may be complicated. A major concern in sorting large arrays is the time required to sort the array. There are many algorithms designed to speed up the sorting time, but there is no single sorting routine that is best suited for sorting all data. For this reason, there are many sorting algorithms (Bubble sort, Quicksort, Insertion sort, Merge sort, Hash sort, Selection sort, Shell sort) that are used in different programs. In sorting, the programmer can sort the array in ascending or descending order. ASCENDING order means that the data elements are sorted lowest to highest order (from 'A' to 'Z'). DESCENDING order allows the user to view the data in reverse order. The two orders of sorting can be easily applied to any of the sorting algorithms mentioned above. This QuickBASIC program introduces six sorting algorithms and offers a graphical and programming viewpoint on each of the sorting algorithms. The following sorting algorithms are utilized in this program: Exchange Sorts Insertion Sorts 1. Bubblesort 4. Linear Insertion 2. Shakersort 5. Binary Insertion 3. Quicksort (Recursive) 6. Shellsort This program is intended for novice to advanced programmers. For the novice, please refer to Shell, Bubble, and Linear sorting options on the main menu screen. The more advanced programmer may simply go to the sorting algorithm that is of most interest. In order to get the most out of this manual, you should be familiar with some fundamental programming aspects. You should know how to code LOOPs, IF-THEN-ELSEs, ARRAYS (one dimensional), and ASSIGNMENT statements. You should also be familiar with QuickBASIC's primary commands since the program examples utilized in the Sorting Tutor are in QuickBASIC. This does not mean that you have to know every QuickBASIC command, but you should be comfortable in relating the commands used in the Sorting Tutor with the language that you are more familiar with. Please refer to the user's manual accompanying this program to answer any questions that the F1 (HELP) key cannot. This program was designed and programmed by: John Fuchs 315 Petka Road Coatesville, PA 19320 System Help Use the following keys when in this menu screen: UP ARROW Allows you to highlight the previous item on the menu. DOWN ARROW Highlights the next item in the menu. FIRST LETTER When you press the first highlighted menu letter, the computer will automatically choose the letter that was pressed. Remember that additional help is available by highlighting the desired letter option (use the arrow keys) and reading the message located at the bottom of the screen. The following options are available when using this submenu: BACKGROUND INFORMATION This option yields information about the sorting algorithm selected in the main menu screen. PROGRAM CODE SORTING Sorts data in an array and relates it to the QuickBASIC program that preforms the sorting. The array is located on the left side of the screen and the QuickBASIC code is on the right side. During this process you may also press ESC to speed up the simulation. GRAPHICAL SORTING Plots unique random integers on a graph and sorts them in ascending order. This process requires an array the same size as the number of unique random elements that are selected. Since the sorted array positions will equal the sorted random number (ie., a(1)=1, a(2)=2 ... a(n)=n), the completed graph will yield a red diagonal line. By pressing the ESC key during this process, the computer will stop sorting and return back to the Sub-Menu. RETURN TO MAIN MENU Leaves this sub-menu and returns to the MAIN MENU. No help is offered in this section, please press F1 in another section of this program.